#ifndef COMMON_H
#define COMMON_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
#include <unistd.h>
#include <fcntl.h>
#include <pcre.h>

#define CONFIG_FILE "./monitor_mysql.cfg"

/* 获取 show engine InnoDB status*/
#define  OVECCOUNT 30 
#define  EBUFLEN  128
#define  BUFLEN  1024

char *item;
char *label;
char *inno_status;

extern void use_age(void);
/* 获取指定参数上一次的值 */
extern int get_old_status(char *);
/* 获取指定参数的最新的值 */
extern int get_new_status(char *);
/* 获取QPS */
extern float get_mysql_qps(void);
/* 获取TPS */
extern float get_mysql_tps(void);
/* 更新mysql的状态信息，将信息写入到数据库中 */
extern void update_mysql_status(void);
/* 网络流量情况 */
//extern float mysql_network_Bytes_received_per_sec(void);
extern float mysql_network_per_sec(char *item);
/* 单位时间内，慢查询的次数 */
extern float get_mysql_slow_log_frequency(void);
/* InnoDB Buffer 命中率*/
extern float get_inno_buffer_read_hit(void);
/* 当前客户端已连接的数量 Threads_connected */
extern int get_threads_connected(void);
/* Threads_running */
extern int get_threads_running(void);
/* 查询命中率 Query Cache hit */
extern float get_query_cache_hit(void);
/* Created_tmp_disk_tables */
extern float get_disk_table_per_sec(void);
/*获取文件大小*/
int get_file_size(char *filename);
/* 获取从库同步的延时 */
int get_slave_behind_master(void);
/* 获取 show engine innodb status 状态信息*/
extern int innodb_status_value(void);
/* 获取状态值 */ 
extern float status_value(char *status);


#endif
